Kanzi  3.9.8
Kanzi Engine C++ API
kanzi::ApplicationProperties Struct Reference

Configurable application properties. More...

#include <kanzi/core.ui/application/application_properties.hpp>

Classes

class  FontEngineHasher
 Class that provides the hash operator for the FontEngine enumeration. More...
 
struct  ImageLoadParameters
 Parameters that Kanzi passes to third-party image libraries when loading image files. More...
 
struct  Slog2Config
 User configurable parameters for slogger2. Default values are set in the ApplicationProperties constructor. More...
 

Public Types

enum  FontEngine { FontEngine::None, FontEngine::FreeType, FontEngine::IType }
 Specifies the font engine to load at application startup to render the text in your application. More...
 
enum  HandleGPUResources { NoHandling, Invalidate, Destroy }
 Sets how an application handles GPU resources in the paused state. More...
 
enum  PerformanceInfoLevel { PerformanceInfoLevelDisabled, PerformanceInfoLevelFPS, PerformanceInfoLevelFull }
 Performance info level. More...
 

Public Member Functions

 ApplicationProperties ()
 Constructor. More...
 

Public Attributes

bool applicationIdleStateEnabled
 When an application is in the idle state, if there are no changes in the node tree and rendering is not necessary, the application main loop waits for events, such as input. More...
 
string binaryName
 Path to either the binary config file listing all .kzb files that are loaded to project, or a path to a single .kzb file. More...
 
NativeDesktopProperties defaultDesktopProperties
 Default properties for desktop. More...
 
EventSourceProperties defaultEventSourceProperties
 Default properties for the event sources. More...
 
KzsSurfaceProperties defaultSurfaceProperties
 Default properties for the surfaces of the windows. More...
 
NativeWindowProperties defaultWindowProperties
 Default properties for application windows. More...
 
chrono::nanoseconds deploymentQueueBudget
 The time allocated per frame for processing the deployment queue. More...
 
bool extensionOutputEnabled
 Indicates whether the list of graphics related extensions printed when launching the application. More...
 
FontEngine fontEngine
 The font engine to load at application startup. More...
 
unordered_map< FontEngine, string, FontEngineHasherfontEngineDictionaryUrls
 Optional lists of resource URLs that point to dictionaries that the font engines use. More...
 
int frameRateLimit
 Framerate limit as frames per second. More...
 
unsigned int glyphCacheHeight
 Height of the textures created for glyph caches. More...
 
unsigned int glyphCacheWidth
 Width of the textures created for glyph caches. More...
 
bool graphicsLoggingEnabled
 Indicates whether graphics API calls should be logged, useful for debugging. More...
 
HandleGPUResources handleGPUResources
 Handling of GPU resources when the application is paused. More...
 
ImageLoadParameters imageLoad
 Parameters that Kanzi passes to third-party image libraries when loading image files. More...
 
bool informationOutputEnabled
 Indicates whether the list of graphics related information printed when launching the application, useful for debugging. More...
 
unsigned int loadingThreadCount
 The number of background threads that are used to load resources. More...
 
optional< size_t > mainLoopProfilingSampleBufferCount
 Main loop profiling sample buffer count. More...
 
unsigned int maxPendingResources
 The maximum number of resources that can be processed by the loading threads at the same time. More...
 
MmapMode mmapMode
 The chosen memory mapping mode. More...
 
vector< stringmoduleNames
 List of modules to load. More...
 
Renderer::RendererSettings::MultisamplePreference multisamplePreference
 Multisample preference setting. More...
 
PerformanceInfoLevel performanceInfoLevel
 Performance info display level. More...
 
PerformanceInfoProperties performanceInfoProperties
 Properties of the performance info display. More...
 
string profilingCategoryFilter
 Profiling category filter. More...
 
bool propertyOutputEnabled
 Indicates whether the list of graphics related properties printed when launching the application, useful for debugging. More...
 
bool shaderBinaryCacheCollisionCheck
 Indicates whether to check for hash collisions in shader binaries. More...
 
string shaderBinaryCacheDirectory
 Shader binary cache directory. More...
 
bool shaderBinaryCacheEnabled
 Indicates whether to cache shader binaries. More...
 
bool shaderBinaryCacheReadOnly
 Indicates whether the cache is read-only. More...
 
Slog2Config slog2Config
 User configurable options for slogger2 (QNX). More...
 
SystemConfiguration systemConfiguration
 Platform-specific configuration parameters. More...
 

Detailed Description

Configurable application properties.

Member Enumeration Documentation

Performance info level.

Enumerator
PerformanceInfoLevelDisabled 

Disabled.

PerformanceInfoLevelFPS 

Show FPS only.

PerformanceInfoLevelFull 

Full info.

Sets how an application handles GPU resources in the paused state.

Since
Kanzi 3.9.7
Enumerator
NoHandling 

Do nothing.

Invalidate 

Invalidate all GPU resources.

Destroy 

Destroy all GPU resources.

Specifies the font engine to load at application startup to render the text in your application.

In a static build, you must statically link to the application the font engine that you want to load. In a dynamic build, Kanzi loads the font engine library that you request.

Enumerator
None 

Do not load a font engine.

When you do not load a font engine, Kanzi does not render the text in your application.

FreeType 

Load the FreeType font engine.

IType 

Load the iType font engine.

Constructor & Destructor Documentation

kanzi::ApplicationProperties::ApplicationProperties ( )
explicit

Constructor.

Member Data Documentation

NativeWindowProperties kanzi::ApplicationProperties::defaultWindowProperties

Default properties for application windows.

KzsSurfaceProperties kanzi::ApplicationProperties::defaultSurfaceProperties

Default properties for the surfaces of the windows.

NativeDesktopProperties kanzi::ApplicationProperties::defaultDesktopProperties

Default properties for desktop.

Since
Kanzi 3.9.7
EventSourceProperties kanzi::ApplicationProperties::defaultEventSourceProperties

Default properties for the event sources.

ImageLoadParameters kanzi::ApplicationProperties::imageLoad

Parameters that Kanzi passes to third-party image libraries when loading image files.

string kanzi::ApplicationProperties::binaryName

Path to either the binary config file listing all .kzb files that are loaded to project, or a path to a single .kzb file.

vector<string> kanzi::ApplicationProperties::moduleNames

List of modules to load.

int kanzi::ApplicationProperties::frameRateLimit

Framerate limit as frames per second.

Set to 0 to disable limiting the framerate altogether.

unsigned int kanzi::ApplicationProperties::loadingThreadCount

The number of background threads that are used to load resources.

By default set to min(number of cores - 1, 3). Set to 0 to disable multithreaded loading and load everything in the main thread.

unsigned int kanzi::ApplicationProperties::maxPendingResources

The maximum number of resources that can be processed by the loading threads at the same time.

The higher number can make the loading faster, but increases the peak memory usage during loading as more resources can be loaded to the memory before they are deployed to the GPU. If set to 0 (which is the default value), the value is set to the number of threads + 1.

chrono::nanoseconds kanzi::ApplicationProperties::deploymentQueueBudget

The time allocated per frame for processing the deployment queue.

If the deployment queue is empty, no time will be spent. If set to 0 (which is the default value, a single item from the deployment queue will be processed each frame.

unsigned int kanzi::ApplicationProperties::glyphCacheWidth

Width of the textures created for glyph caches.

unsigned int kanzi::ApplicationProperties::glyphCacheHeight

Height of the textures created for glyph caches.

PerformanceInfoLevel kanzi::ApplicationProperties::performanceInfoLevel

Performance info display level.

PerformanceInfoProperties kanzi::ApplicationProperties::performanceInfoProperties

Properties of the performance info display.

bool kanzi::ApplicationProperties::extensionOutputEnabled

Indicates whether the list of graphics related extensions printed when launching the application.

It is useful for debugging which extensions are supported by platform.

bool kanzi::ApplicationProperties::propertyOutputEnabled

Indicates whether the list of graphics related properties printed when launching the application, useful for debugging.

bool kanzi::ApplicationProperties::informationOutputEnabled

Indicates whether the list of graphics related information printed when launching the application, useful for debugging.

bool kanzi::ApplicationProperties::graphicsLoggingEnabled

Indicates whether graphics API calls should be logged, useful for debugging.

string kanzi::ApplicationProperties::profilingCategoryFilter

Profiling category filter.

Use profiling category filters to set the state for profiling categories:

  • "off" disables performance profiling.
  • "on" enables performance profiling.

Each filter token consists of category name and state separated with the equal sign (=). Use semicolons (;) to separate multiple filter tokens. For example:

"category1=on;category2=off"

To apply a setting for all profiling categories, use the asterisk (*). For example, to enable all categories:

"*=on"

The filter is evaluated from left to right, meaning that each setting overrides previous ones. For example, to disable all categories except category1:

"*=off;category1=on"

To set the same state for multiple categories, separate the categories with pipes (|). For example, to enable category1 and category2:

"category1|category2=on"

bool kanzi::ApplicationProperties::applicationIdleStateEnabled

When an application is in the idle state, if there are no changes in the node tree and rendering is not necessary, the application main loop waits for events, such as input.

When you disable the application idle state, Kanzi extends this wait only until the next frame. When you enable the application idle state (the default setting), Kanzi waits until the application receives an event. Other threads may also post tasks to interrupt idle state.

optional<size_t> kanzi::ApplicationProperties::mainLoopProfilingSampleBufferCount

Main loop profiling sample buffer count.

Optional override for the default size of sample buffers used by main loop profiling

FontEngine kanzi::ApplicationProperties::fontEngine

The font engine to load at application startup.

The default value is FreeType.

unordered_map<FontEngine, string, FontEngineHasher> kanzi::ApplicationProperties::fontEngineDictionaryUrls

Optional lists of resource URLs that point to dictionaries that the font engines use.

Separate the resource URLs with a semicolon.

Since
Kanzi 3.9.4
MmapMode kanzi::ApplicationProperties::mmapMode

The chosen memory mapping mode.

Slog2Config kanzi::ApplicationProperties::slog2Config

User configurable options for slogger2 (QNX).

SystemConfiguration kanzi::ApplicationProperties::systemConfiguration

Platform-specific configuration parameters.

See your platform documentation for details.

Renderer::RendererSettings::MultisamplePreference kanzi::ApplicationProperties::multisamplePreference

Multisample preference setting.

bool kanzi::ApplicationProperties::shaderBinaryCacheEnabled

Indicates whether to cache shader binaries.

By default, the application does not cache shader binaries.

Since
Kanzi 3.9.8
bool kanzi::ApplicationProperties::shaderBinaryCacheReadOnly

Indicates whether the cache is read-only.

By default, Kanzi updates the cache.

Since
Kanzi 3.9.8
bool kanzi::ApplicationProperties::shaderBinaryCacheCollisionCheck

Indicates whether to check for hash collisions in shader binaries.

By default, the application does not check for hash collisions.

Since
Kanzi 3.9.8
string kanzi::ApplicationProperties::shaderBinaryCacheDirectory

Shader binary cache directory.

Since
Kanzi 3.9.8
HandleGPUResources kanzi::ApplicationProperties::handleGPUResources

Handling of GPU resources when the application is paused.

The default value is:

Since
Kanzi 3.9.7

The documentation for this struct was generated from the following file: